package com.rla.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.rla.common.annotation.ExcelDictFormat;
import com.rla.common.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;



/**
 * 小程序用户信息视图对象 vip_user_info
 *
 * @author ruoyi
 * @date 2025-07-24
 */
@Data
@ExcelIgnoreUnannotated
public class VipUserInfoVo {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String userName;

    private String vipCode;
    /**
     * 性别（1、男，0、女）
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=、男，0、女")
    private String sex;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    private String phone;

    /**
     * 出生日期
     */
    @ExcelProperty(value = "出生日期")
    private String birthday;

    /**
     * 证件号
     */
    @ExcelProperty(value = "证件号")
    private String idCard;

    /**
     * 身高
     */
    @ExcelProperty(value = "身高")
    private String height;

    /**
     * 体重
     */
    @ExcelProperty(value = "体重")
    private String weight;

    /**
     * 省
     */
    @ExcelProperty(value = "省")
    private String province;

    /**
     * 市
     */
    @ExcelProperty(value = "市")
    private String city;

    /**
     * 区
     */
    @ExcelProperty(value = "区")
    private String county;

    /**
     * 所属地区
     */
    @ExcelProperty(value = "所属地区")
    private String region;

    /**
     * 地址详情
     */
    @ExcelProperty(value = "地址详情")
    private String addressDetail;

    /**
     * 糖尿病类型
     */
    @ExcelProperty(value = "糖尿病类型")
    private String diabetesType;

    /**
     * 确诊日期
     */
    @ExcelProperty(value = "确诊日期")
    private String diagnosisDate;

    /**
     * 既往病史
     */
    @ExcelProperty(value = "既往病史")
    private String pastHistory;

    /**
     * 紧急联系人姓名
     */
    @ExcelProperty(value = "紧急联系人姓名")
    private String emergencyContactName;

    /**
     * 紧急联系人联系方式
     */
    @ExcelProperty(value = "紧急联系人联系方式")
    private String emergencyContactPhone;

    /**
     * 紧急联系人称呼
     */
    @ExcelProperty(value = "紧急联系人称呼")
    private String emergencyContactCall;

    /**
     * 累计积分
     */
    @ExcelProperty(value = "累计积分")
    private Long sumIntegral;

    /**
     * 可用积分
     */
    @ExcelProperty(value = "可用积分")
    private Long usableIntegral;

    /**
     * 冻结积分
     */
    @ExcelProperty(value = "冻结积分")
    private Long freezeIntegral;

    /**
     * 当前会员等级编号
     */
    @ExcelProperty(value = "当前会员等级编号")
    private String vipGradeCode;

    /**
     * 用户密码
     */
    @ExcelProperty(value = "用户密码")
    private String password;

    /**
     * 累计储值
     */
    @ExcelProperty(value = "累计储值")
    private BigDecimal sumBalance;

    /**
     * 可用储值
     */
    @ExcelProperty(value = "可用储值")
    private BigDecimal usableBalance;

    /**
     * 冻结储值
     */
    @ExcelProperty(value = "冻结储值")
    private BigDecimal freezeBalance;

    /**
     * 最后登录IP
     */
    @ExcelProperty(value = "最后登录IP")
    private String loginIp;

    /**
     * 最后登录时间
     */
    @ExcelProperty(value = "最后登录时间")
    private Date loginDate;

    /**
     * 用户小程序OPENID
     */
    @ExcelProperty(value = "用户小程序OPENID")
    private String openId;

    /**
     * 用户头像
     */
    @ExcelProperty(value = "用户头像")
    private String avatar;

    /**
     * 帐号状态（0正常 1停用）
     */
    @ExcelProperty(value = "帐号状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 中台id
     */
    @ExcelProperty(value = "中台id")
    private String dpId;


    /**
     * 所属部门
     */
    private String department;

    /**
     * 所属业务
     */
    private String business;

    /**
     * 用户来源
     */
    private String source;

    /**
     * 备注
     */
    private String remark;


    /**
     * 所属部门
     */
    private String departmentName;

    /**
     * 所属业务
     */
    private String businessName;

    private String isDpSync;

    private String isAuth;

    private String isBirUpdate;

    private BigDecimal totalSpending;
}
